Хак Registration of the References (RR 0.27)
Тестировалось : OPERA,FIREFOX,GOOGLE CHROME,IE8 CMS DLE8.2

Назначение
Данный хак предназначен для оформления ссылок с файлообменников. Хак выполняет замену ссылок на ссылки в виде графических элементов и делает блок ссылок кликабельными. При добавлении новости в панели BB - кодов добавляются дополнительные элементы для оформления ссылок .



1. Просто графический элементс возможностью выбора. Можно использовать вместо надписи Скачать.
2. Вставка ссылки с выбранного файлообменника.
3. Заключает выделенный блок в теги [quote][hide][center].
4. Делает выделеный блок ссылок кликабельным с возможностью подсчета частей (part#1 part#2......).

После использования хака блок ссылок имеет следующий вид:



Установка для админпанели

1. Скопируйте все файлы на ваш сервер.Папки downico, icondd поместите в корень сайта.
2. Открываем [DLE 8.2 DLE 8.0 /engine/inc/include/inserttag.php], [DLE 7.5 /engine/inc/inserttag.php ] и ищем:
var fombj    = document.forms[0];

и ниже вставляем:
var piclinc = '';
function ins_emodown()
{
	
		var buttonElement = document.getElementById('b_emodown');
		document.getElementById(selField).focus();
		

		if ( is_ie )
		{
			document.getElementById(selField).focus();
			ie_range_cache = document.selection.createRange();
		}

		var iLeftPos  = getOffsetLeft(buttonElement);
		var iTopPos   = getOffsetTop(buttonElement) + (buttonElement.offsetHeight + 3);

		document.getElementById('dle_emodown').style.left = (iLeftPos) + "px";
		document.getElementById('dle_emodown').style.top  = (iTopPos)  + "px";
		
		if (document.getElementById('dle_emodown').style.visibility == "hidden")
		{
			document.getElementById('dle_emodown').style.zIndex   = 99;
			document.getElementById('dle_emodown').style.visibility = "visible";
			document.getElementById('dle_emodown').style.display    = "block";
		}
		else
		{
			document.getElementById('dle_emodown').style.visibility = "hidden";
			document.getElementById('dle_emodown').style.display    = "none";
			ie_range_cache = null;
		}

}

function tag_url_dow(value)
{
if (value == 0) return;
	if(navigator.appName=="Microsoft Internet Explorer")
	{ 
	document.getElementById('pzi').options[0].selected=true
		var adlinc   = prompt("Введите полный адрес ссылки http//...", "");
 			 piclinc = value;
		if(adlinc==""||adlinc==null)return;
				doInsert("[url="+adlinc+"]"+value+"[/url]"+"   ", false);
	}
	else
	{
    var adlinc   = prompt("Введите полный адрес ссылки http//...", "");
  piclinc = value;
	if(adlinc==""||adlinc==null)return;
	
doInsert("[url="+adlinc+"]"+value+"[/url]", "   ", false);
}
}

function tag_links_click()
{
     var pic_linc=piclinc;   
   var paste_parts = confirm("Подсчитывать парты?");
if (paste_parts) {
paste_parts = " PARTS";
} else {
paste_parts = "";
} 

doInsert("<fieldset><legend align='center'>"+pic_linc+"</legend>[LINKS" + paste_parts + "]", "[/LINKS]</fieldset>" , false);
} 


function tag_links()
{
 var paste_hide_s = "[hide]";
 var paste_hide_e = "[/hide]";

 var paste_center_s = "[center]";
 var paste_center_e = "[/center]";

 var paste_quote_s = "[quote]";
 var paste_quote_e = "[/quote]";

doInsert(paste_quote_s + paste_hide_s + paste_center_s,  paste_center_e + paste_hide_e +paste_quote_e, false);
} 
function idd(zag)
{
doInsert("[center]"+"[img]/icondd/"+zag+"[/img]"+"[/center]","", false);

ins_emodown();
}

ищем:
HTML;
и выше вставляем
  <div  id="b_emodown" class="editor_button" onclick="ins_emodown();"><img title="Загрузить..." src="engine/skins/bbcodes/images/earth.png" width="23" height="25" border="0"></div>
<div class="editor_button" style="padding-top:4px;width:95px;">
<select   id="pzi" class="editor_button"  onchange="tag_url_dow(this.options[this.selectedIndex].value)" >
<option  value='0' selected >Ссылка на:</option>
<option  value='[img]/downico/rapidshare.png[/img]'>Rapidshare</option>
<option  value='[img]/downico/letitbit.png[/img]'>Letitbit</option>
<option  value='[img]/downico/depositfile.png[/img]'>Depositfile</option>
<option  value='[img]/downico/uploadbox.png[/img]'>Uploadbox</option>
<option  value='img]/downico/hotfile.png[/img]'>Hotfile</option>
<option  value='[img]/downico/ifolder.png[/img]'>Ifolder</option>
<option  value='[img]/downico/sms4file.png[/img]'>Sms4file</option>
<option  value='[img]/downico/uploading.png[/img]'>Uploading</option>
<option  value='[img]/downico/vip-file.png[/img]'>Vip_file</option>
<option  value='[img]/downico/turbobit.png[/img]'>Turbobit</option>
<option  value='[img]/downico/anyfiles.png[/img]'>Anyfiles</option>
<option  value='[img]/downico/upload.png[/img]'>Upload</option>
<option  value='[img]/downico/free-share.ru.png[/img]'>Free-share</option>
<option  value='[img]/downico/up-file.png[/img]'>Up_file</option>
</select>
</div>
<div class="editor_button"  onclick="tag_links_click()"><img title="Кликабельность ссылок" src="engine/skins/bbcodes/images/blue.png" width="23" height="25" border="0"></div>
<div class="editor_button"  onclick="tag_links()"><img title="Вставка скрытой ссылки цитатой по центру" src="engine/skins/bbcodes/images/gpg.png" width="23" height="25" border="0"></div>

</div>
<iframe width="154" height="104" id="cp" src="engine/skins/bbcodes/color.html" frameborder="0" vspace="0" hspace="0" marginwidth="0" marginheight="0" scrolling="no" style="visibility:hidden; display: none; position: absolute;"></iframe>
<div id="dle_emo" style="visibility:hidden; display: none; position: absolute; width:170px; height: 124px; overflow: auto; border: 1px solid #BBB; background:#E9E8F2;filter: alpha(opacity=95, enabled=1) progid:DXImageTransform.Microsoft.Shadow(color=#CACACA,direction=135,strength=3);">{$smiles}</div>
<div id="dle_emodown" style="visibility:hidden; display: none; position: absolute; width:220px; height: 300px; overflow: auto; border: 1px solid #BBB; background:#ffffff;filter: alpha(opacity=95, enabled=1) progid:DXImageTransform.Microsoft.Shadow(color=#CACACA,direction=135,strength=3);">
<dle>
<span style="cursor:pointer" onclick="idd('5.png')"><img src="/icondd/5.png" border="0"></span>
<span style="cursor:pointer" onclick="idd('4.png')"><img src="/icondd/4.png"border="0"></span>
<span style="cursor:pointer" onclick="idd('d4.png')"><img src="/icondd/d4.png"border="0"></span>
<span style="cursor:pointer" onclick="idd('DOWNLOAD4.gif')"><img src="/icondd/DOWNLOAD4.gif"border="0"></span>
<span style="cursor:pointer" onclick="idd('DOWNLOAD8.jpg')"><img src="/icondd/DOWNLOAD8.jpg"border="0"></span>
<span style="cursor:pointer" onclick="idd('77.gif')"><img src="/icondd/77.gif"border="0"></span>
<span style="cursor:pointer" onclick="idd('15.png')"><img src="/icondd/15.png"border="0"></span>
<span style="cursor:pointer" onclick="idd('16.gif')"><img src="/icondd/16.gif"border="0"></span>
<span style="cursor:pointer" onclick="idd('8f.gif')"><img src="/icondd/8f.gif"border="0"></a></span>
<span style="cursor:pointer" onclick="idd('downloadbutton.png')"><img src="/icondd/downloadbutton.png"border="0"></span>
<span style="cursor:pointer" onclick="idd('Download (1).png')"><img src="/icondd/Download (1).png"border="0"></span>
<span style="cursor:pointer" onclick="idd('Download (14).png')"><img src="/icondd/Download (14).png"border="0"></span>
<span style="cursor:pointer" onclick="idd('downloadmy.gif')"><img src="/icondd/downloadmy.gif"border="0"></span>
<span style="cursor:pointer" onclick="idd('down24.png')"><img src="/icondd/down24.png"border="0"></span>
<span style="cursor:pointer" onclick="idd('downsept.png')"><img src="/icondd/downsept.png"border="0"></span>
</center>
</div>
  


3. Открываем /engine/classes/parse.class.php и ищем:
var $font_sizes = array (1 => '8', 2 => '10', 3 => '12', 4 => '14', 5 => '18', 6 => '24', 7 => '36' );
ниже вставляем:
function build_links($source = "") { 
		if (!$source) { 
			return false;
		} elseif (preg_match_all("#\[LINKS(\sPARTS)*\](.+?)\[\/LINKS\]#si", $source, $old_links)) {
			$parts = $old_links[1];// print_r($parts);
			$old_links = $old_links[0];
			for ($l = 0; $l < count($old_links); $l++) { 
				if (preg_match_all("/(http:\/\/|edk2:\/\/|ftp:\/\/|https:\/\/|news:\/\/)+([^\s\n><\'\"\*\[\]]+)/si", $old_links[$l], $new_links)) { 
					$parts[$l] = ((strtoupper(trim($parts[$l])) == 'PARTS') ? true : false);
					$new_links = $new_links[0];
					$new_link = ""; 
					if (count($new_links) > 1) {
						for ($c = 0; $c < count($new_links); $c++) { 
							if ($parts[$l]) {
								$new_link .= "[URL=".$new_links[$c]."]Скачать с [b]".ucfirst(strtolower(trim(clean_url($new_links[$c]))))."[/b] part#".($c+1)."[/URL]\r\n";
							} else {							
								$new_link .= "[URL=".$new_links[$c]."]".($new_links[$c])."[/URL]\r\n";
							}
						}
					} else { 
						$new_link .= "[URL=".$new_links[0]."]Скачать с [b]".ucfirst(strtolower(trim(clean_url($new_links[0]))))."[/b][/URL]\r\n";
					} 
					$source = str_replace($old_links[$l], trim($new_link), $source); 
				}
			}
		}
		return $source; 
	}
далее ищем:
$source = preg_replace($find, $replace, $source);

выше вставляем:
$source = $this->build_links($source);
На этом установка хака в админпанели завершена.

Установка для FrontPage

1. Открываем [DLE 8.2 DLE 8.0 DLE 7.5 /engine/modules/bbcode.php] и ищем
<div id="b_spoiler" class="editor_button" onclick="simpletag('spoiler')"><img src="{THEME}/bbcodes/spoiler.gif" width="23" height="25" border="0" alt="" /></div>
<div class="editor_button"><img src="{THEME}/bbcodes/brkspace.gif" width="5" height="25" border="0" alt="" /></div>
 
ниже вставляем:
<div  id="b_emodown" class="editor_button" onclick="ins_emodown();"><img title="Загрузить..." src="engine/skins/bbcodes/images/earth.png" width="23" height="25" border="0"></div>
<div class="editor_button" style="padding-top:4px;width:95px;">
<select   id="pzi" class="editor_button"  onchange="tag_url_dow(this.options[this.selectedIndex].value)" >
<option  value='0' selected >Ссылка на:</option>
<option  value='[img]/downico/rapidshare.png[/img]'>Rapidshare</option>
<option  value='[img]/downico/letitbit.png[/img]'>Letitbit</option>
<option  value='[img]/downico/depositfile.png[/img]'>Depositfile</option>
<option  value='[img]/downico/uploadbox.png[/img]'>Uploadbox</option>
<option  value='img]/downico/hotfile.png[/img]'>Hotfile</option>
<option  value='[img]/downico/ifolder.png[/img]'>Ifolder</option>
<option  value='[img]/downico/sms4file.png[/img]'>Sms4file</option>
<option  value='[img]/downico/uploading.png[/img]'>Uploading</option>
<option  value='[img]/downico/vip-file.png[/img]'>Vip_file</option>
<option  value='[img]/downico/turbobit.png[/img]'>Turbobit</option>
<option  value='[img]/downico/anyfiles.png[/img]'>Anyfiles</option>
<option  value='[img]/downico/upload.png[/img]'>Upload</option>
<option  value='[img]/downico/free-share.ru.png[/img]'>Free-share</option>
<option  value='[img]/downico/up-file.png[/img]'>Up_file</option>
</select>
</div>
<div class="editor_button"  onclick="tag_links_click()"><img title="Кликабельность ссылок" src="engine/skins/bbcodes/images/blue.png" width="23" height="25" border="0"></div>
<div class="editor_button"  onclick="tag_links()"><img title="Вставка скрытой ссылки цитатой по центру" src="engine/skins/bbcodes/images/gpg.png" width="23" height="25" border="0"></div>

</div>
<iframe width="154" height="104" id="cp" src="engine/skins/bbcodes/color.html" frameborder="0" vspace="0" hspace="0" marginwidth="0" marginheight="0" scrolling="no" style="visibility:hidden; display: none; position: absolute;"></iframe>
<div id="dle_emo" style="visibility:hidden; display: none; position: absolute; width:170px; height: 124px; overflow: auto; border: 1px solid #BBB; background:#E9E8F2;filter: alpha(opacity=95, enabled=1) progid:DXImageTransform.Microsoft.Shadow(color=#CACACA,direction=135,strength=3);">{$smiles}</div>
<div id="dle_emodown" style="visibility:hidden; display: none; position: absolute; width:220px; height: 300px; overflow: auto; border: 1px solid #BBB; background:#ffffff;filter: alpha(opacity=95, enabled=1) progid:DXImageTransform.Microsoft.Shadow(color=#CACACA,direction=135,strength=3);">
<center>
<span style="cursor:pointer" onclick="idd('5.png')"><img src="/icondd/5.png" border="0"></span>
<span style="cursor:pointer" onclick="idd('4.png')"><img src="/icondd/4.png"border="0"></span>
<span style="cursor:pointer" onclick="idd('d4.png')"><img src="/icondd/d4.png"border="0"></span>
<span style="cursor:pointer" onclick="idd('DOWNLOAD4.gif')"><img src="/icondd/DOWNLOAD4.gif"border="0"></span>
<span style="cursor:pointer" onclick="idd('DOWNLOAD8.jpg')"><img src="/icondd/DOWNLOAD8.jpg"border="0"></span>
<span style="cursor:pointer" onclick="idd('77.gif')"><img src="/icondd/77.gif"border="0"></span>
<span style="cursor:pointer" onclick="idd('15.png')"><img src="/icondd/15.png"border="0"></span>
<span style="cursor:pointer" onclick="idd('16.gif')"><img src="/icondd/16.gif"border="0"></span>
<span style="cursor:pointer" onclick="idd('8f.gif')"><img src="/icondd/8f.gif"border="0"></a></span>
<span style="cursor:pointer" onclick="idd('downloadbutton.png')"><img src="/icondd/downloadbutton.png"border="0"></span>
<span style="cursor:pointer" onclick="idd('Download (1).png')"><img src="/icondd/Download (1).png"border="0"></span>
<span style="cursor:pointer" onclick="idd('Download (14).png')"><img src="/icondd/Download (14).png"border="0"></span>
<span style="cursor:pointer" onclick="idd('downloadmy.gif')"><img src="/icondd/downloadmy.gif"border="0"></span>
<span style="cursor:pointer" onclick="idd('down24.png')"><img src="/icondd/down24.png"border="0"></span>
<span style="cursor:pointer" onclick="idd('downsept.png')"><img src="/icondd/downsept.png"border="0"></span>
</center>
</div>
  

Открываем templates/ваш скин/addnews.tpl и в самое начала добавляем:
<script language="JavaScript">
 var piclinc = '';
function ins_emodown()
{
	
		var buttonElement = document.getElementById('b_emodown');
		document.getElementById(selField).focus();
		

		if ( is_ie )
		{
			document.getElementById(selField).focus();
			ie_range_cache = document.selection.createRange();
		}

		var iLeftPos  = getOffsetLeft(buttonElement);
		var iTopPos   = getOffsetTop(buttonElement) + (buttonElement.offsetHeight + 3);

		document.getElementById('dle_emodown').style.left = (iLeftPos) + "px";
		document.getElementById('dle_emodown').style.top  = (iTopPos)  + "px";
		
		if (document.getElementById('dle_emodown').style.visibility == "hidden")
		{
			document.getElementById('dle_emodown').style.zIndex   = 99;
			document.getElementById('dle_emodown').style.visibility = "visible";
			document.getElementById('dle_emodown').style.display    = "block";
		}
		else
		{
			document.getElementById('dle_emodown').style.visibility = "hidden";
			document.getElementById('dle_emodown').style.display    = "none";
			ie_range_cache = null;
		}

}

function tag_url_dow(value)
{
if (value == 0) return;
	if(navigator.appName=="Microsoft Internet Explorer")
	{ 
	document.getElementById('pzi').options[0].selected=true
		var adlinc   = prompt("Введите полный адрес ссылки http//...", "");
 			 piclinc = value;
		if(adlinc==""||adlinc==null)return;
				doInsert("[url="+adlinc+"]"+value+"[/url]"+"   ", false);
	}
	else
	{
    var adlinc   = prompt("Введите полный адрес ссылки http//...", "");
  piclinc = value;
	if(adlinc==""||adlinc==null)return;
	
doInsert("[url="+adlinc+"]"+value+"[/url]", "   ", false);
}
}

function tag_links_click()
{
     var pic_linc=piclinc;   
   var paste_parts = confirm("Подсчитывать парты?");
if (paste_parts) {
paste_parts = " PARTS";
} else {
paste_parts = "";
} 

doInsert("<fieldset><legend align='center'>"+pic_linc+"</legend>[LINKS" + paste_parts + "]", "[/LINKS]</fieldset>" , false);
} 


function tag_links()
{
 var paste_hide_s = "[hide]";
 var paste_hide_e = "[/hide]";

 var paste_center_s = "[center]";
 var paste_center_e = "[/center]";

 var paste_quote_s = "[quote]";
 var paste_quote_e = "[/quote]";

doInsert(paste_quote_s + paste_hide_s + paste_center_s,  paste_center_e + paste_hide_e +paste_quote_e, false);
} 
function idd(zag)
{
doInsert("[center]"+"[img]/icondd/"+zag+"[/img]"+"[/center]","", false);

ins_emodown();
}
</SCRIPT>
Как использовать

Выбираем картинку (картинка устанавливается по центру)
Копируем ссылку
Выбираем нужный файлообменник из списка (в данном случае DEPOSITFILES )
Вставляем ссылку
Вот и всё
Результат
Блок ссылок оформляется так:
Вариант1

копируем полученный блок ссылок
вставляем
выбираем файлообменник (в данном случае RAPIDSARE ) и в поле ввода адреса ссылки НИЧЕГО НЕ ВСТАВЛЯЕМ, нажимаем ОК
выделяем блок ссылок и жмем на кнопку 4
в зависимости от ответа
получаем кликабельные ссылки, или кликабельные ссылки с подсчетом количества частей
жмем просмотр и видим
Вариант2
Можно выбрать из списка файлообменник (в данном случае RAPIDSARE ) и  в поле ввода адреса ссылки 
НИЧЕГО НЕ ВСТАВЛЯЕМ, нажимаем ОК.
После вставить блок ссылок,
выделить их,
нажать на кнопку 4 и в зависимости от ответа на вопрос получить кликабельные ссылки,
или кликабельные ссылки с подсчетом количества частей.
Обрамление тэгами
В конце выделяем ВСЕ ссылки, нажимаем кнопку 3 
и весь блок ссылок обрамляется тэгами [quote][hide][center].
Применение данного хака не исключает возможность использования оформления ссылок предусмотренных CMS DLE.